請記住在Ruby裡,幾乎所有東西都是物件,因為他是以物件導向去設計的語言。
當我們看到一個數字時,我們會覺得就是一個很普通的數字,但其實他在Ruby中是一個數字物件。
例如:
puts 1 + 2
# 印出 3
上面看起來非常簡單的加法運算,但其實是在Ruby中加號只是一般的方法(method),並省略了小括號。
它的原型應該是長這樣:
puts 1.+(2)
# 印出 3
上面用白話文翻譯,數字物件1呼叫了+
方法,並把數字物件2當作參數傳進去。
你一定會想數字就數字還需要分辨嗎?
你這樣想就錯了,在Ruby中數字分成兩種:
在Ruby中,整數除法是我們需要注意的。
當我們進行除法時,如果除數及被除數都是整數的,那結果也會是整數,除不盡的小數會無條件捨去。
puts 10 / 3 # => 3
如果你想要看到小數點的話,你可以在除數或是被除數其中一個加上小數點就行了。
puts 10.0 / 3 # =>3.3333333
puts 10 / 3.0 # =>3.3333333
我們如果需要將浮點數轉換成整數,可以使用以下方法:
puts 3.55.round # => 4 #轉成整數,四捨五入
puts 3.71.floor # => 3 #轉成整數,無條件捨去
puts 3.14.ceil # => 4 #轉成整數,無條件進位
puts 3.14.to_i # => 3 #轉成整數,無條件捨去
參考資料: